

from core.himesis import Himesis, HimesisPreConditionPattern
import cPickle as pickle
from uuid import UUID

class HBuild_back_F2FNAC0Bridge(HimesisPreConditionPattern):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HBuild_back_F2FNAC0Bridge.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HBuild_back_F2FNAC0Bridge, self).__init__(name='HBuild_back_F2FNAC0Bridge', num_nodes=2, edges=[])
        
        # Add the edges
        self.add_edges([])
        # Set the graph attributes
        self["GUID__"] = UUID('6bf38fb6-f521-418f-aca4-bcd5e86df2b0')
        
        # Set the node attributes
        self.vs[0]["MT_subtypeMatching__"] = False
        self.vs[0]["MT_label__"] = """4"""
        self.vs[0]["mm__"] = """MT_pre__Female_T"""
        self.vs[0]["MT_subtypes__"] = pickle.loads("""(lp1
.""")
        self.vs[0]["MT_pre__name"] = """from HBuild_back_F2FNAC0 import HBuild_back_F2FNAC0
from HBuild_back_F2FLHS import HBuild_back_F2FLHS
lhs = HBuild_back_F2FLHS()
return HBuild_back_F2FNAC0(lhs).eval_name4(attr_value, this) and HBuild_back_F2FLHS().eval_name4(attr_value, this)"""
        self.vs[0]["MT_dirty__"] = False
        self.vs[0]["GUID__"] = UUID('59c500aa-cac5-448b-98fc-9c4d333b906f')
        self.vs[1]["MT_subtypeMatching__"] = False
        self.vs[1]["MT_label__"] = """3"""
        self.vs[1]["mm__"] = """MT_pre__Female_S"""
        self.vs[1]["MT_subtypes__"] = pickle.loads("""(lp1
.""")
        self.vs[1]["MT_pre__name"] = """from HBuild_back_F2FNAC0 import HBuild_back_F2FNAC0
from HBuild_back_F2FLHS import HBuild_back_F2FLHS
lhs = HBuild_back_F2FLHS()
return HBuild_back_F2FNAC0(lhs).eval_name3(attr_value, this) and HBuild_back_F2FLHS().eval_name3(attr_value, this)"""
        self.vs[1]["MT_dirty__"] = False
        self.vs[1]["GUID__"] = UUID('3de0d960-728c-43de-98ec-4ac0193630a0')

    def eval_name4(self, attr_value, this):
        from HBuild_back_F2FNAC0 import HBuild_back_F2FNAC0
        from HBuild_back_F2FLHS import HBuild_back_F2FLHS
        lhs = HBuild_back_F2FLHS()
        return HBuild_back_F2FNAC0(lhs).eval_name4(attr_value, this) and HBuild_back_F2FLHS().eval_name4(attr_value, this)


    def eval_name3(self, attr_value, this):
        from HBuild_back_F2FNAC0 import HBuild_back_F2FNAC0
        from HBuild_back_F2FLHS import HBuild_back_F2FLHS
        lhs = HBuild_back_F2FLHS()
        return HBuild_back_F2FNAC0(lhs).eval_name3(attr_value, this) and HBuild_back_F2FLHS().eval_name3(attr_value, this)


    def constraint(self, PreNode, graph):
        """
            Executable constraint code. 
            @param PreNode: Function taking an integer as parameter
                            and returns the node corresponding to that label.
        """
        return True

